<?php

 if (!defined("BASEPATH"))
     exit("No esta permitido el acceso directo");

 /**
  * ---------------------------------------------------------------
  * MODELO SALA
  * ---------------------------------------------------------------
  * Ejecuta los métodos de la API y valida
  */
 class Model_sala extends CI_Model {

     private $errormensaje, $errorcodigo;



     /**
      * ---------------------------------------------------------------
      * CONSTRUCTOR
      * ---------------------------------------------------------------
      * Este constructor carga la clase sala_class de la API
      * 
      * @author Sergio Morlán Páramo
      */
     public function __construct() {
         // Call the Model constructor
         parent::__construct();
         $this->load->library("api/sala_class");

     }




     /**
      * Obtenemos el error SQL si es que existe inmediatamente después de que se ejecuta
      * algun query
      * 
      * @return String 
      * @author Sergio Morlán Páramo
      */
     public function get_errormensaje() {
         return $this->errormensaje;

     }




     /**
      * Obtenemos el codigo de error SQL si es que existe inmediatamente después de que se 
      * ejecuta algun query
      * 
      * @return int
      * @author Sergio Morlán Páramo 
      */
     public function get_errorcodigo() {
         return $this->errorcodigo;

     }




     /**
      * Vamos a insertar un sala para lo que necesitaremos que el envío de los datos sean
      * mediante POST, utilizaremos sala_class de la API 
      * 
      * @return boolean 
      * @author Sergio Morlán Páramo
      */
     public function agregar() {

         // Asignado los atributos de sala
         $this->sala_class->set_id($this->sala_class->get_siguienteID());
         $this->asignar_atributos();

         // Se  intenta insertar
         if ($this->sala_class->xnew()) {
             // Si es que el insert se realizó con éxito
             return TRUE;
         } else {
             // Muestra el codigo de error arrojado por Mysql
             $this->errorcodigo = $this->sala_class->get_error_num();
             $this->errormensaje = $this->sala_class->get_error_string();
             return FALSE;
         }

     }




     /**
      * Vamos a asignar todos excepto matricula (PK) los atributos del objeto sala
      * 
      * @access private
      * @author Sergio Morlán Páramo
      */
     private function asignar_atributos() {
         $this->sala_class->set_numero($_POST["sala_numero"]);
         $this->sala_class->set_edificio($_POST["sala_edificio"]);
         $this->sala_class->set_facultad($_POST["sala_facultad"]);
         $this->sala_class->set_especificaciones($_POST["sala_especificaciones"]);

     }




 }

 